1. Field of the Invention
The present invention is directed to approximating a Catmull Clark subdivision surface by Bezier patches.
2. Description of the Related Art
Subdivision surfaces are a known computer graphics-modeling tool. Subdivision surfaces are powerful representations because they combine the best features of polygonal meshes (arbitrary topology) and NURBS surfaces (smoothness), in a mathematically elegant formulation. A subdivision surface base mesh is iteratively divided according to subdivision rules into a resultant limit surface, which is typically smooth. Catmull Clark is a widely used subdivision surface scheme which provides rules on how surfaces are subdivided. Subdivision surfaces, including Catmull Clark subdivision surfaces, can be found in commercial packages such as MAYA and SPEEDFORM. For an explanation of Catmull-Clark subdivision surfaces, please see the original paper by E. Catmull, J. Clark, “Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes,” in Computer Aided Design 10, 6 1978).
Subdivision surfaces are expensive to evaluate near extraordinary vertices, making them slow to tessellate and draw. Additionally, there are several mathematical calculations whose solutions are well known for polygons and NURBS, but are not that easily solved for subdivision surfaces. Such calculations include intersecting a ray and a surfaces, intersecting a plane and a surface, intersecting two surfaces, and finding a point on a surface closest to a given point.
Other representations, such as Bezier patches, can more easily solve the above matters. Thus, it can be desirable to convert a subdivision face into a cubic Bezier patch. A cubic Bezier patch is defined by 16 three-dimensional control points.
The prior art teaches how to convert from a uniform cubic B-spline curve segment into a Bezier representation, as described in the book, An Introduction to Splines for Use in Computer Modeling, Bartels, Beatty, Barsky, pgs. 243–245. Vertices from a subdivision face may be substituted into the equations described in Bartels to convert it to a Bezier representation. However, the Bartels method only works where all vertices in the subdivision face are regular. In other words, the vertices are all of valence four (defined as having exactly four edges) and are not part of a crease. One possible definition of a crease is where the tangent plane of a surface changes on one side of the crease compared to the other side of the crease.
The prior art does not teach a method for converting an irregular subdivision face.